package com.zlp.mybatisplus.mybatisplus.entity;

import java.util.Date;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotations.TableName;
import java.io.Serializable;

/**
 * <p>
 * 活动信息
 * </p>
 *
 * @author zhulaiping
 * @since 2022-01-25
 */
@TableName("bcrm_activity")
public class Activity extends Model<Activity> {

    private static final long serialVersionUID = 1L;

    /**
     * 活动id
     */
    private String id;

    /**
     * 活动名称
     */
    private String name;

    /**
     * 活动类型(1: 扫码积分 2: 商品成列 3:店员激励 4:门店推销 5:劵码核销)
     */
    private Integer type;

    /**
     * 投放限制(1: 部分 2: 区域内不限)
     */
    @TableField("astrict_type")
    private Integer astrictType;

    /**
     * 活动描述
     */
    private String content;

    /**
     * 地区: 省(id)
     */
    @TableField("province_id")
    private String provinceId;

    /**
     * 地区: 省(名称)
     */
    @TableField("province_name")
    private String provinceName;

    /**
     * 地区: 市(id)
     */
    @TableField("city_id")
    private String cityId;

    /**
     * 地区: 市(名称)
     */
    @TableField("city_name")
    private String cityName;

    /**
     * 地区: 区(id)
     */
    @TableField("area_id")
    private String areaId;

    /**
     * 地区: 区(名称)
     */
    @TableField("area_name")
    private String areaName;

    /**
     * 品牌名称
     */
    @TableField("brand_name")
    private String brandName;

    /**
     * 活动封面url
     */
    @TableField("cover_url")
    private String coverUrl;

    /**
     * 参与周期类型(1周期活动 2: 非周期活动 )
     */
    @TableField("join_type")
    private Integer joinType;

    /**
     * 参与品牌id
     */
    @TableField("brand_id")
    private String brandId;

    /**
     * 参与次数
     */
    @TableField("join_count")
    private Integer joinCount;

    /**
     * 参与周期(1:天 2:周 3:月 4:季度 5:年)
     */
    @TableField("join_cycle")
    private Integer joinCycle;

    /**
     * 活动创建来源(0:bcrm创建 1:tpm创建)
     */
    @TableField("source_type")
    private Integer sourceType;

    /**
     * 活动状态 (1:草稿, 2:已提交 3:已通过 4:未通过 5:进行中 6已结束 7取消)
     */
    private Integer status;

    /**
     * 活动等级
     */
    private Integer level;

    /**
     * 活动编号
     */
    private String code;

    /**
     * 活动投放开始时间
     */
    @TableField("start_at")
    private Date startAt;

    /**
     * 活动投放结束时间
     */
    @TableField("end_at")
    private Date endAt;

    /**
     * 发布时间
     */
    @TableField("publish_at")
    private Date publishAt;

    /**
     * 创建时间
     */
    @TableField("created_at")
    private Date createdAt;

    /**
     * 删除时间
     */
    @TableField("deleted_at")
    private Date deletedAt;

    /**
     * 修改时间
     */
    @TableField("updated_at")
    private Date updatedAt;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
    public Integer getType() {
        return type;
    }

    public void setType(Integer type) {
        this.type = type;
    }
    public Integer getAstrictType() {
        return astrictType;
    }

    public void setAstrictType(Integer astrictType) {
        this.astrictType = astrictType;
    }
    public String getContent() {
        return content;
    }

    public void setContent(String content) {
        this.content = content;
    }
    public String getProvinceId() {
        return provinceId;
    }

    public void setProvinceId(String provinceId) {
        this.provinceId = provinceId;
    }
    public String getProvinceName() {
        return provinceName;
    }

    public void setProvinceName(String provinceName) {
        this.provinceName = provinceName;
    }
    public String getCityId() {
        return cityId;
    }

    public void setCityId(String cityId) {
        this.cityId = cityId;
    }
    public String getCityName() {
        return cityName;
    }

    public void setCityName(String cityName) {
        this.cityName = cityName;
    }
    public String getAreaId() {
        return areaId;
    }

    public void setAreaId(String areaId) {
        this.areaId = areaId;
    }
    public String getAreaName() {
        return areaName;
    }

    public void setAreaName(String areaName) {
        this.areaName = areaName;
    }
    public String getBrandName() {
        return brandName;
    }

    public void setBrandName(String brandName) {
        this.brandName = brandName;
    }
    public String getCoverUrl() {
        return coverUrl;
    }

    public void setCoverUrl(String coverUrl) {
        this.coverUrl = coverUrl;
    }
    public Integer getJoinType() {
        return joinType;
    }

    public void setJoinType(Integer joinType) {
        this.joinType = joinType;
    }
    public String getBrandId() {
        return brandId;
    }

    public void setBrandId(String brandId) {
        this.brandId = brandId;
    }
    public Integer getJoinCount() {
        return joinCount;
    }

    public void setJoinCount(Integer joinCount) {
        this.joinCount = joinCount;
    }
    public Integer getJoinCycle() {
        return joinCycle;
    }

    public void setJoinCycle(Integer joinCycle) {
        this.joinCycle = joinCycle;
    }
    public Integer getSourceType() {
        return sourceType;
    }

    public void setSourceType(Integer sourceType) {
        this.sourceType = sourceType;
    }
    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }
    public Integer getLevel() {
        return level;
    }

    public void setLevel(Integer level) {
        this.level = level;
    }
    public String getCode() {
        return code;
    }

    public void setCode(String code) {
        this.code = code;
    }
    public Date getStartAt() {
        return startAt;
    }

    public void setStartAt(Date startAt) {
        this.startAt = startAt;
    }
    public Date getEndAt() {
        return endAt;
    }

    public void setEndAt(Date endAt) {
        this.endAt = endAt;
    }
    public Date getPublishAt() {
        return publishAt;
    }

    public void setPublishAt(Date publishAt) {
        this.publishAt = publishAt;
    }
    public Date getCreatedAt() {
        return createdAt;
    }

    public void setCreatedAt(Date createdAt) {
        this.createdAt = createdAt;
    }
    public Date getDeletedAt() {
        return deletedAt;
    }

    public void setDeletedAt(Date deletedAt) {
        this.deletedAt = deletedAt;
    }
    public Date getUpdatedAt() {
        return updatedAt;
    }

    public void setUpdatedAt(Date updatedAt) {
        this.updatedAt = updatedAt;
    }

    @Override
    protected Serializable pkVal() {
        return this.id;
    }

    @Override
    public String toString() {
        return "Activity{" +
        "id=" + id +
        ", name=" + name +
        ", type=" + type +
        ", astrictType=" + astrictType +
        ", content=" + content +
        ", provinceId=" + provinceId +
        ", provinceName=" + provinceName +
        ", cityId=" + cityId +
        ", cityName=" + cityName +
        ", areaId=" + areaId +
        ", areaName=" + areaName +
        ", brandName=" + brandName +
        ", coverUrl=" + coverUrl +
        ", joinType=" + joinType +
        ", brandId=" + brandId +
        ", joinCount=" + joinCount +
        ", joinCycle=" + joinCycle +
        ", sourceType=" + sourceType +
        ", status=" + status +
        ", level=" + level +
        ", code=" + code +
        ", startAt=" + startAt +
        ", endAt=" + endAt +
        ", publishAt=" + publishAt +
        ", createdAt=" + createdAt +
        ", deletedAt=" + deletedAt +
        ", updatedAt=" + updatedAt +
        "}";
    }
}
